Month 2: Problem-Solving & CS Concepts
Coding Practice - Medium-Level DSA Problems
-
LeetCode (Platform for coding practice)
Link: https://leetcode.com/
Recommended for: Binary Search, Sorting, Sliding Window, Two Pointers, Hashing, Trees, and Binary Trees.
Focus Areas: Look for problems under "Medium" difficulty in the categories of sorting, searching, binary trees, and dynamic programming.
-
HackerRank (Platform for coding practice with tutorials)
Link: https://www.hackerrank.com/domains/tutorials/10-days-of-javascript
Recommended for: Practice with different algorithms, binary search, trees, and hashing.
-
CodeForces (Competitive programming platform)
Link: https://codeforces.com/
Recommended for: Algorithmic challenges, binary search, and sorting problems. Participate in contests to improve speed and problem-solving skills.
-
GeeksforGeeks - Practice Section (Practice problems by difficulty)
Link: https://practice.geeksforgeeks.org/
Recommended for: Specific problems on Binary Search, Sliding Window, Trees, and Hashing.
-
TopCoder (Competitive programming platform)
Link: https://www.topcoder.com/challenges
Recommended for: Advanced problems on sorting, binary trees, sliding window, and dynamic programming.
System Design Basics (for SDE Roles)
-
Grokking the System Design Interview (Paid course)
Link: https://www.educative.io/courses/grokking-the-system-design-interview
Recommended for: High-level and low-level system design concepts, including load balancing, caching, database sharding, and common design patterns (Singleton, Factory, Observer).
-
System Design Primer (GitHub repository with free resources)
Link: https://github.com/donnemartin/system-design-primer
Recommended for: A comprehensive guide to system design with links to key concepts, examples, and real-world scenarios.
-
YouTube - Gaurav Sen (System Design Tutorials) (Free YouTube videos)
Link: https://www.youtube.com/c/Gaur
Recommended for: System design tutorials and problem-solving approaches.
-
YouTube - Tech Dummies (System Design Basics) (Free YouTube channel)
Link: https://www.youtube.com/channel/UCZb0sU5Y4y_GVn5sN06sV3g
Recommended for: System design basics, including important concepts like caching, load balancing, and database sharding.
CS Core Topics - Computer Networks (CN)
-
Computer Networking: A Top-Down Approach (Book)
Link: https://www.amazon.com/Computer-Networking-Top-Down-Approach/dp/0134594142
Recommended for: In-depth understanding of network protocols (OSI, TCP/IP, HTTP, DNS), client-server architecture, and networking principles.
-
GeeksforGeeks - Computer Networks (Tutorials on computer networks)
Link: https://www.geeksforgeeks.org/computer-network-tutorials/
Recommended for: Tutorials on OSI model, TCP/IP, HTTP, DNS, and other networking protocols.
-
Computer Networks by David Forney (YouTube Lecture Series)
Link: https://www.youtube.com/watch?v=BOiS7nzVDRk
Recommended for: Understanding networking protocols, OSI and TCP/IP models, and client-server architecture.
-
Cisco Networking Academy (Free Learning)
Link: https://www.netacad.com/educator/learning-paths/courses/cybersecurity
Recommended for: A free learning path for network security and basic networking knowledge.
Mock Interviews
-
Pramp (Platform for mock interviews)
Link: https://www.pramp.com/
Recommended for: Free peer-to-peer mock interviews for coding problems and system design.
-
Interviewing.io (Platform for mock technical interviews)
Link: https://interviewing.io/
Recommended for: Anonymous mock technical interviews with engineers from top tech companies.
-
Exercism.io (Platform for practicing coding interviews)
Link: https://exercism.io/
Recommended for: Practice coding exercises, including problems on algorithms and system design.
-
LeetCode - Mock Interviews (LeetCode mock interview feature)
Link: https://leetcode.com/mock-interviews/
Recommended for: Practice real-time coding interview scenarios with LeetCode’s mock interview feature.